#ifndef GUI_hpp
#define GUI_hpp

#include "main.hpp"
#include "control.hpp"
#include <vector>
#include <allegro.h>

#define BUTTON_TYPE   1
#define INPUT_TYPE    2
#define COMBO_TYPE    3
#define CHECKBOX_TYPE 4

class cGUI
{
    private:
        ///ZMIENNE
        BITMAP * bufor;

        sPoint * size;
        sPoint * pos;
        int bgColor;

        std::vector <cControl*> controls;

	public:
        ///ZMIENNE

        ///METODY
        void draw();

        int ctrlAdd(short type, int x, int y, int w, int h, char * v, int tCol = 0xFFFFFF, int bgCol = 0xFF00FF);//dodaje kontrolke do GUI
        bool ctrlDelete(int id);//kasuje kontrolke
        bool ctrlSetPos(int id, int x, int y);//ustawia pozycje kontrolki
        bool ctrlSetSize(int id, int w, int h);//ustawia wielkosc kontrolki
        bool ctrlHide(int id);//chowa kontrolke
        bool ctrlShow(int id);//pokazuje kontrolke
        bool ctrlSetValue(int id, char * v);//zmienia wartosc kontrolki
        bool ctrlSetTextColor(int id, int color);//zmienia kolor tekstu kontrolki
        bool ctrlSetBgColor(int id, int color);//zmienia kolor tla kontrolki
        bool isClicked(int id);//czy kontrolka jest kliknieta

        cGUI(int x, int y, int w, int h, int bgCol = 0xCFE2E9);
        ~cGUI();
};

#endif

